Comparative Performance Evaluation of Garbage Collection Algorithms

نویسنده

  • Benjamin G. Zorn
چکیده

This thesis shows that object-level, trace-driven simulation can facilitate evaluation of language runtime systems and reaches new conclusions about the relative performance of important garbage collection algorithms. In particular, I reach the unexpected conclusion that mark-and-sweep garbage collection, when augmented with generations, shows comparable CPU performance and much better reference locality than the more widely used copying algorithms. In the past, evaluation of garbage collection algorithms has been limited by the high cost of implementing the algorithms. Substantially di erent algorithms have rarely been compared in a systematic way. With the availability of high-performance, low-cost workstations, trace-driven performance evaluation of these algorithms is now economical. This thesis describes MARS, a runtime system simulator that is driven by operations on program objects, and not memory addresses. MARS has been attached to a commercial Common Lisp system and eight large Lisp applications are used in the thesis as test programs. To illustrate the advantages of the object-level tracing technique used by MARS, this thesis compares the relative performance of stop-and-copy, incremental, and mark-andsweep collection algorithms, all organized with multiple generations. The comparative evaluation is based on several metrics: CPU overhead, reference locality, and interactive availability. Mark-and-sweep collection shows slightly higher CPU overhead than stop-and-copy collection (5%), but requires signi cantly less physical memory to achieve the same page fault rate (30{40%). Incremental collection has very good interactive availability, but implementing the read barrier on stock hardware incurs a substantial CPU overhead (30{60%). In the future, I will use MARS to investigate other performance aspects of sophisticated runtime systems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Comparative Study of Stampede Garbage Collection Algorithms

Stampede is a parallel programming system to support interactive multimedia applications. The system maintains temporal causality in such streaming real-time applications via channels that buffer timestamped items. A Stampede application is a coarse-grain dataflow pipeline of these timestamped items. Not all timestamps are relevant for an application output due to the differential processing ra...

متن کامل

Derivation and evaluation of concurrent collectors

There are many algorithms for concurrent garbage collection, but they are complex to describe, verify, and implement. This has resulted in a poor understanding of the relationships between the algorithms, and has precluded systematic study and comparative evaluation. We present a single high-level, abstract concurrent garbage collection algorithm, and show how existing snapshot and incremental ...

متن کامل

Empirical Studies of Distributed Garbage Collection

Garbage collection has been a necessary evil of computer languages that employ dynamic data structures. The 1990’s has seen some significant technology shifts that present new challenges for automatic garbage collection. In particular, distributed systems are providing an economical approach to parallel processing. Many distributed garbage collection algorithms have been proposed but few have b...

متن کامل

Generation of Garbage Collector Performance Test Beds Based on Probability Distributions

We propose a prooling tool for experimental evaluation of garbage collection algorithms. Behaviour of the prooler is determined by some probability distributions on object size and life time etc. that are derived from the properties of certain languages or applications. A standard memory management interface allows precise, objective evaluation of several garbage collection algorithms under lab...

متن کامل

The Measured Cost of Conservative Garbage Collection

Because dynamic memory management is an important part of a large class of computer programs, high-performance algorithms for dynamic memory management have been, and will continue to be, of considerable interest. Experience indicates that for many programs, dynamic storage allocation is so important that programmers feel compelled to write and use their own domainspecific allocators to avoid t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014